package com.pktechan.api.service;

import com.pktechan.api.base.BaseService;
import com.pktechan.api.entity.CloudPoint;
import com.pktechan.api.entity.CloudPointFlow;
import com.pktechan.api.entity.CustBase;
import com.pktechan.api.vo.CloudPointFlowVO;

import java.util.List;

public interface CloudPointFlowService extends BaseService<CloudPointFlow> {
    /**
     * 根据订单ID查询应得云积分ID
     *
     * @param tradeOrderId
     * @return
     */
    List<CloudPointFlow> getGenerateListByTradeOrderId(Integer tradeOrderId);
    /**
     * 查看收入明细列表
     * @param custId
     * @return
     */
    List<CloudPointFlowVO> getIncomeDetailsListByCustId(Integer custId);

    /**
     * 查看兑付明细
     * @param custId
     * @return
     */
    List<CloudPointFlowVO>  getCashingDetailsByCustId(Integer custId);

    /**
     * 转让兑付
     * @param cloudPointFlow
     */
    void transferableCashing(CloudPointFlow cloudPointFlow, CustBase custBase);

//    /**
//     * 添加提现流水
//     * @param cloudPointFlow
//     * @param custBase
//     */
//    void withdrawPoint(CloudPointFlow cloudPointFlow, CustBase custBase);

    /**
     * 添加酒钻记录变动记录，及更新酒钻持仓
     * @param cloudPointFlow
     * @param cloudPoint
     */
    void addCloudPointFlowAndUpdateCloudPoint(CloudPointFlow cloudPointFlow, CloudPoint cloudPoint);
}
